package demo3;

public  class Dog extends Animal implements Running,Swimming {
    String color;
    String sex;
    public Dog(String name,int age,String color,String sex){
        super(name, age);
        this.color=color;
        this.sex=sex;
    }

    @Override
    public void running() {
        System.out.println(this.name+"正在田里奔跑-----");
    }
    public void swimming(){
        System.out.println(this.name+"正在水里游泳------");
    }

    @Override
    public void eat() {
        System.out.println(this.name+"在盆里吃狗粮------");
    }
    public boolean equals(Object obj){ //必须用Object类型接收，重写equals方法自定义比较逻辑
        if(obj==null){//判断变量类型
            return false;
        }
        if(this == obj){
            return true;
        }//判断传入的对象是不是Dog类型的实例
        if(!(obj instanceof Dog)){
            return false;
        }
        Dog tp=(Dog) obj;//对象和字符串用==比较比较的是存储地址
        return tp.name.equals(this.name)&&tp.age==this.age;//自己写的比较逻辑equals比较字符串是看每个字符的码值，
        // 只要找到一个字符值大的就返回，age可以直接不叫

    }
}
